package com.cgwx.tcservice.entity.tc;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 遥控参数配置表
 * </p>
 *
 * @author GaoWei
 * @since 2023-09-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="TcParameterConfig对象", description="遥控参数配置表")
public class TcParameterConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "遥控指令ID")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    @ApiModelProperty(value = "遥控指令所属遥控帧标识符，唯一确定遥控帧代号，例：B2_0/B2_1")
    private String tcFrameIdentifiers;

    @ApiModelProperty(value = "遥控指令代号")
    private String tcCommandCode;

    @ApiModelProperty(value = "每行遥控参数名称，固定参数占1行，可变参数占多行")
    private String tcParameterName;

    @ApiModelProperty(value = "遥控参数起始位置(b)")
    private Integer tcParameterStartPos;

    @ApiModelProperty(value = "遥控参数长度(b)")
    private Integer tcParameterLength;

    @ApiModelProperty(value = "遥控参数内容")
    private String tcParameterValue;

    @ApiModelProperty(value = "遥控参数内容(dec)")
    @TableField("tc_parameter_value_D")
    private String tcParameterValueD;

    @ApiModelProperty(value = "遥控参数内容(hex)")
    @TableField("tc_parameter_value_H")
    private String tcParameterValueH;

    @ApiModelProperty(value = "处理参数")
    private String tcHandleParam;

    @ApiModelProperty(value = "参数类型(1:十六进制;2:公式;3:二进制;4:前校验和;5:后校验和;6:单精度浮点数)")
    private Integer tcParameterType;

    @ApiModelProperty(value = "处理方式(1:固定值;2:补码)")
    private Integer tcParameterMode;

    @ApiModelProperty(value = "高低位(1:低位在前;2:高位在前)")
    private Integer tcParameterBitType;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;
}
